package cn.edu.cqupt.cxcy.mail;

import java.util.Date;
import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.servlet.http.HttpServletRequest;

/**
 * 邮件系统 
 * @author Dancer-mno
 * @date 2015年10月17日
 */
public class Email {

    public static final String HOST = "smtp.qq.com";
    public static final String PROTOCOL = "smtp";
    public static final int PORT = 25;
    public static final String FROM = "952912343@qq.com";//发件人的email
    public static final String PWD = "tao0333com";//发件人密码

    /**
     * 获取Session
     * @return
     */
    private static Session getSession() {
        Properties props = new Properties();
        props.put("mail.smtp.host", HOST);//设置服务器地址
        props.put("mail.store.protocol" , PROTOCOL);//设置协议
        props.put("mail.smtp.port", PORT);//设置端口
        props.put("mail.smtp.auth" , true);
        Authenticator authenticator = new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(FROM, PWD);
            }
        };
        Session session = Session.getDefaultInstance(props , authenticator);
        return session;
    }

    public static void processregister(String toEmail , String content) {
        Session session = getSession();
        try {
//            System.out.println("--send--"+content);
            // Instantiate a message
            Message msg = new MimeMessage(session);

            //Set message attributes
            msg.setFrom(new InternetAddress(FROM));
            InternetAddress[] address = {new InternetAddress(toEmail)};
            msg.setRecipients(Message.RecipientType.TO, address);
            msg.setSubject("账号密码修改");
            msg.setSentDate(new Date());
            msg.setContent(content , "text/html;charset=utf-8");

            //Send the message
            Transport.send(msg);
        }
        catch (MessagingException mex) {
            mex.printStackTrace();
        }
    }
    public static void sendCode(String code, String email){
    	
    	String suff = "http://cxcy.cqupt.edu.cn";
        ///邮件的内容
        StringBuffer sb=new StringBuffer("请复制下面的验证码，48小时生效，否则重新修改，请尽快激活！<br>");
        sb.append("验证码：");
        sb.append(code);
        sb.append("<br><a href=\"" + suff + "\">关注创业业网,点击进入</a><br>");
        sb.append(suff);
        //发送邮件
        Email.processregister(email, sb.toString());
//        System.out.println("发送邮件");
    }
}